﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Communergy.Common
{
    public interface IEnergyDataRepository
    {
        void SaveEnergyData(string sourceId, List<EnergyData> energyData);

        List<EnergyData> GetRawEnergyData(string sourceId, DateTime from, DateTime to);

        List<EnergyData> GetEnergyDataInMinutesIntervals(string sourceId, DateTime from, DateTime to, int minutesInterval);

        List<EnergyData> GetEnergyDataHourly(string sourceId, DateTime from, DateTime to);

        List<EnergyData> GetEnergyDataDaily(string sourceId, DateTime from, DateTime to);

        List<EnergyData> GetEnergyDataWeekly(string sourceId, DateTime from, DateTime to, DayOfWeek firstDayOfWeek);

        List<EnergyData> GetEnergyDataMonthly(string sourceId, DateTime from, DateTime to);

        List<EnergyData> GetEnergyDataYearly(string sourceId, DateTime from, DateTime to);
    }
}
